/* 全局动画定义 */
@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes shake {
  0%, 100% {transform: translateX(0);}
  10%, 30%, 50%, 70%, 90% {transform: translateX(-5px);}
  20%, 40%, 60%, 80% {transform: translateX(5px);}
}

/* 全局过渡效果 */
.page-transition {
  animation: fadeIn 0.5s ease-out;
}

/* 通用按钮悬停效果 */
.hover-button {
  transition: all 0.3s ease;
}

.hover-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* 链接悬停效果 */
.hover-link {
  transition: color 0.3s;
}

.hover-link:hover {
  color: #1a365d !important;
  text-decoration: underline;
}

/* 卡片悬停效果 */
.hover-card {
  transition: all 0.3s ease;
}

.hover-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* 毛玻璃效果 */
.glass-effect {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* 渐变按钮 */
.gradient-button {
  background: linear-gradient(90deg, #1a365d 0%, #2d3748 100%);
  border: none;
  color: white;
  transition: all 0.3s;
}

.gradient-button:hover {
  background: linear-gradient(90deg, #2d3748 0%, #1a365d 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a1a1a1;
}

/* 暗色模式适配 */
@media (prefers-color-scheme: dark) {
  .dark-mode-support {
    background-color: #121212;
    color: #f0f0f0;
  }
  
  .dark-mode-support .ant-card {
    background-color: #1f1f1f;
    color: #f0f0f0;
  }
} 